/**
 * En este archivo se definen todos los "typedef" del engine asi como todas
 * las declaraciones de las clases "Foward class declarations".
 *
 * @file SGE/SGE_types.h
 * @author Adrián Guerra Marrero
 * @date 20110419 - Initial Release
 */
 
#ifndef   SGE_TYPES_H
#define   SGE_TYPES_H

#include <string>

namespace SGE
{
/// Representa el ID de un Estado
typedef std::string typeStateID;

/// Enumeración de estados para valores de retorno
enum StatusType
{
	// Values from -99 to 99 are common Error and Good status responses
	StatusAppMissingAsset = -4, ///< Application failed due to missing asset file
	StatusAppStackEmpty   = -3,  ///< Application States stack is empty
	StatusAppInitFailed   = -2,  ///< Application initialization failed
	StatusError           = -1,  ///< General error status response
	StatusAppOK           =  0,  ///< Application quit without error
	StatusNoError         =  0,  ///< General no error status response
	StatusFalse           =  0,  ///< False status response
	StatusTrue            =  1,  ///< True status response
	StatusOK              =  1   ///< OK status response

	// Values from +-100 to +-199 are reserved for File status responses
};

// Forward declare SGE classes provided
class App;
class State;

} // Namespace SGE

#endif // SGE_TYPES_H
